// 获取本旬本月本年
// 搜索条件选择本旬、本月、本年，时间控件中展示为本旬第一天-昨日，本月第一天到昨日，本年第一天到昨日。

/*
  时间需求变更，随便写的，逻辑判断有重复代码， 懒得搞了
 */
import {getDay, getYearOrMonth, getMonthOrDay, getZero, getDuration} from '@/utils/dateUtil'

const getChangeDate = (i = 0) => {
  const date = new Date()
  let startData = ''
  let endData = ''
  if (getMonthOrDay() === '01-01') {  // 判断是否是今年1号
    /*
      特殊情况1：
      如果今天是2022年1月1日：
      昨日：2021年12月31日
      本旬：2021年12月21日至2021年12月31日
      本月：2021年12月1日至2021年12月31日
      本年：2021年1月1日至2021年12月31日
     */
    if (i === 0) {
      startData = `${getYearOrMonth('year') - 1}-12-31`
      endData = `${getYearOrMonth('year') - 1}-12-31`
    } else if (i === 1) {
      startData = `${getYearOrMonth('year') - 1}-12-21`
      endData = `${getYearOrMonth('year') - 1}-12-31`
    } else if (i === 2) {
      startData = `${getYearOrMonth('year') - 1}-12-01`
      endData = `${getYearOrMonth('year') - 1}-12-31`
    } else {
      startData = `${getYearOrMonth('year') - 1}-01-01`
      endData = `${getYearOrMonth('year') - 1}-12-31`
    }
  } else if (getDay() === '1') { // 判断今天是否是1号并且不是1月1号
    // console.log('判断今天是否是1号并且不是1月1号')

    if (i === 0) {
      startData = `${getYearOrMonth('year')}-${getZero(getMonthOrDay('month') - 1)}-${getDuration(getLastMonthDate(date))}`
      endData = `${getYearOrMonth('year')}-${getZero(getMonthOrDay('month') - 1)}-${getDuration(getLastMonthDate(date))}`
      
  //     // console.log('i000')
  //     // console.log('getMonthOrDay')
  // // console.log(getMonthOrDay())
  // // console.log('getDay')
  // // console.log(getDay());
  // // console.log('getYearOrMonth');
  // // console.log(getYearOrMonth());
  // // console.log('getZero(getDay() - 1)', getZero(getDay() - 1))
      // console.log('startData', startData, 'endData', endData)
    } else if (i === 1) {
      startData = `${getYearOrMonth('year')}-${getZero(getMonthOrDay('month') - 1)}-21`
      endData = `${getYearOrMonth('year')}-${getZero(getMonthOrDay('month') - 1)}-${getDuration(getLastMonthDate(date))}`
    } else if (i === 2) {
      startData = `${getYearOrMonth('year')}-${getZero(getMonthOrDay('month') - 1)}-01`
      endData = `${getYearOrMonth('year')}-${getZero(getMonthOrDay('month') - 1)}-${getDuration(getLastMonthDate(date))}`
    } else {
      startData = `${getYearOrMonth('year')}-01-01`
      endData = `${getYearOrMonth('year')}-${getZero(getMonthOrDay('month') - 1)}-${getDuration(getLastMonthDate(date))}`
    }
  } else if (getDay() - 10 > 0) { // 判断今天是十号之后（条件有点多余，懒得删了）
    /*
     特殊情况2:
     如果今天是2021年12月21日：
     昨日：2021年12月20日
     本旬：2021年12月11日至2021年12月20日
     本月：2021年12月1日至2021年12月20日
     本年：2021年1月1日至2021年12月20日
    */
    if (getDay() === '11') { // 判断今天是11号的时候, 本旬显示1-10号的数据
      if (i === 0) {
        startData = `${getYearOrMonth()}-${getDay() - 1}`
        endData = `${getYearOrMonth()}-${getDay() - 1}`
      } else if (i === 1) {
        startData = `${getYearOrMonth()}-01`
        endData = `${getYearOrMonth()}-${getDay() - 1}`
      } else if (i === 2) {
        startData = `${getYearOrMonth()}-01`
        endData = `${getYearOrMonth()}-${getDay() - 1}`
      } else {
        startData = `${getYearOrMonth('year')}-01-01`
        endData = `${getYearOrMonth()}-${getDay() - 1}`
      }
    } else if (getDay() <= 21 && getDay() > 11) { // 判断今天是11 - 21号， 本旬显示11-20号的数据
      if (i === 0) {
        startData = `${getYearOrMonth()}-${getDay() - 1}`
        endData = `${getYearOrMonth()}-${getDay() - 1}`
      } else if (i === 1) {
        startData = `${getYearOrMonth()}-11`
        endData = `${getYearOrMonth()}-${getDay() - 1}`
      } else if (i === 2) {
        startData = `${getYearOrMonth()}-01`
        endData = `${getYearOrMonth()}-${getDay() - 1}`
      } else {
        startData = `${getYearOrMonth('year')}-01-01`
        endData = `${getYearOrMonth()}-${getDay() - 1}`
      }
    } else { // 如果是22到月末， 本旬显示21-前一天的数据
      if (i === 0) {
        startData = `${getYearOrMonth()}-${getDay() - 1}`
        endData = `${getYearOrMonth()}-${getDay() - 1}`
      } else if (i === 1) {
        startData = `${getYearOrMonth()}-21`
        endData = `${getYearOrMonth()}-${getDay() - 1}`
      } else if (i === 2) {
        startData = `${getYearOrMonth()}-01`
        endData = `${getYearOrMonth()}-${getDay() - 1}`
      } else {
        startData = `${getYearOrMonth('year')}-01-01`
        endData = `${getYearOrMonth()}-${getDay() - 1}`
      }
    }
  } else if (getDay() - 10 <= 0) { // 判断如果是1-9号， 本旬显示1-昨天的数据
    // console.log('判断如果是1-9号');
    /*
     今天是2022-01-04
     昨日：2022-01-03
     本旬：2022-01-01至2022-01-03
     本月：2022-01-01至2022-01-03
     本年：2022-01-01至2022-01-03
    */
    if (i === 0) {
      startData = `${getYearOrMonth()}-${getZero(getDay() - 1)}`
      endData = `${getYearOrMonth()}-${getZero(getDay() - 1)}`
    } else if (i === 1) {
      startData = `${getYearOrMonth()}-01`
      endData = `${getYearOrMonth()}-${getZero(getDay() - 1)}`
    } else if (i === 2) {
      startData = `${getYearOrMonth()}-01`
      endData = `${getYearOrMonth()}-${getZero(getDay() - 1)}`
    } else {
      startData = `${getYearOrMonth('year')}-01-01`
      endData = `${getYearOrMonth()}-${getZero(getDay() - 1)}`
    }
  }
  return {
    startData, endData
  }
}

const getLastMonthDate = (date) => {
  return `${date.getFullYear()}/${date.getMonth()}/${date.getDate()}`
}

export {
  getChangeDate
}
